package com.grj.parking.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 充电桩设备信息表
 * @TableName ev_charger
 */
@TableName(value ="ev_charger")
@Data
public class EvCharger implements Serializable {
    /**
     * 充电桩ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 租户ID
     */
    @TableField(value = "tenant_id")
    private Long tenantId;

    /**
     * 停车场ID
     */
    @TableField(value = "parking_id")
    private Long parkingId;

    /**
     * 关联车位ID
     */
    @TableField(value = "space_id")
    private Long spaceId;

    /**
     * 充电桩编号（如EC-B1-012）
     */
    @TableField(value = "charger_code")
    private String chargerCode;

    /**
     * 设备型号
     */
    @TableField(value = "model")
    private String model;

    /**
     * 类型：FAST-快充，SLOW-慢充
     */
    @TableField(value = "type")
    private String type;

    /**
     * 功率（kW）
     */
    @TableField(value = "power")
    private BigDecimal power;

    /**
     * 电压规格
     */
    @TableField(value = "voltage")
    private String voltage;

    /**
     * 接口类型（如GB/T 20234.3, CCS, CHAdeMO）
     */
    @TableField(value = "interface_type")
    private String interfaceType;

    /**
     * 状态：IDLE-空闲，CHARGING-充电中，FAULT-故障，MAINTENANCE-维护中
     */
    @TableField(value = "status")
    private String status;

    /**
     * 制造商
     */
    @TableField(value = "manufacturer")
    private String manufacturer;

    /**
     * 安装时间
     */
    @TableField(value = "install_time")
    private Date installTime;

    /**
     * 上次维护时间
     */
    @TableField(value = "last_maintain_time")
    private Date lastMaintainTime;

    /**
     * 软件版本
     */
    @TableField(value = "software_version")
    private String softwareVersion;

    /**
     * 
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 
     */
    @TableField(value = "update_time")
    private Date updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}